iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 9
0
IoT

從開源kubernetes雲端運算到kubeedge雲邊協同系列 第 9

Day 9 KubeEdge基本部署: Pod

  • 分享至 

  • xImage
  •  

Pod簡介

在Kubernetes的世界裡,透過YAML資源清單的方式去宣告物件的內容,包含對其的資源限制,在KubeEdge也同樣適用。
Pod是Kubernetes佈署的基本單位,每一個Pod中會有一個pause容器,負責作網路命名空間的管理。在Kubernetes中會分配給Pod一個cluster IP,在叢集內所有的Pod都能通過cluster IP彼此連接。而在同一個Pod底下的所有容器則共享同一個Pod IP,pause容器則透過network namespace的方式讓同一個Pod底下的所有容器共享網路資源。

Pod部署

我們以busybox為例。

vim busybox.yaml

下面是我的YAML

# busybox.yaml
apiVersion: v1
kind: Pod
metadata:
  name: busybox
  namespace: default
  labels:
    app: busybox
spec:
  containers:
  - image: busybox:latest
    name: busybox
    command:
    - "sleep"
    - "3600"

執行後可以看到結果

kubectl apply -f busybox.yaml

這裡要提出一個跟Kubernetes不同的地方。在Kubernetes的設計裡,可以在雲端直接與其他節點的Pod容器互動,例如下面的例子:
首先我在另一個Kubernetes的worker節點(非edge)同樣部署busybox

此時可以利用類似docker exec的方式從主節點進入到容器中

但同樣的操作方式在KubeEdge中是行不通的:

和Kubernetes叢集設計概念上不同的是,Kubernetes的場景像是在共同網域下的叢集環境,主節點能夠直接進入到其他工作節點是理所當然的;但在KubeEdge中,設計上雲端與邊緣端的應用大部分還是各自運行的,不會考慮到由雲端直接控制edge特定容器的設計。

所以最直接訪問容器的方式是到邊緣節點上,直接用docker exec的方式直接訪問容器:


上一篇
Day 8: KubeEdge安裝
下一篇
Day 10 KubeEdge基本佈署: Deployment
系列文
從開源kubernetes雲端運算到kubeedge雲邊協同30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言